【X68000(Z)アセンブラ講座 第033回 複数プログラム間の外部参照】   こんにちは!! 今回は初級編で紹介し忘れていた外部参照の使い方です。 ソースコードが長くなってくると見辛くなってきて 機能毎のソースコードに分けて管理したくなると思います。 そこで登場するのが'.xref'疑似命令と'.xdef'疑似命令です。 以下の破線の内側を'AsmPrint.s'と言うファイル名で保存して下さい。 ------------------------------------------------------------------------------------------------ ******************************************************************************** * * アプリ名 : AsmPrint.x * * 他のソースコードにあるルーチンを呼び出す * * Ver1.00 * ******************************************************************************** .cpu 68000 include A:\XC\INCLUDE\DOSCALL.MAC include A:\XC\INCLUDE\IOCSCALL.MAC .xref AsmPrint * 他のソースコードにあるラベル'AsmPrint'を参照 .data .even msg01: dc.b '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',13,10,0 .even .bss .even .text start: lea msg01,a0 bsr AsmPrint * 他のソースコードにある'AsmPrint'ルーチンをコール * プログラム終了 dc.w _EXIT * [EOF] ------------------------------------------------------------------------------------------------ 以下の破線の内側を'AsmLib.s'と言うファイル名で保存して下さい。 ------------------------------------------------------------------------------------------------ .cpu 68000 include A:\XC\INCLUDE\DOSCALL.MAC include A:\XC\INCLUDE\IOCSCALL.MAC .xdef AsmPrint * 他のファイルからファイル内のラベル'AsmPrint'を参照可能にする .data .even .bss .text * 文字列を表示する AsmPrint: * in a0.l = 表示させる文字列の先頭アドレス move.l a0,-(sp) dc.w _PRINT addq.l #4,sp rts * [EOF] ------------------------------------------------------------------------------------------------ ファイルの保存が終わったらコマンドプロンプトから、 A>AS AsmPrint.s [Enter] A>AS AsmLib.s [Enter] A>LK AsmPrint.o AsmLib.o [Enter} A>AsmPrint.x [Enter] 以上(↑)のように入力するとプログラムが起動します。 今回は以上です(^^) お疲れ様でした!! [EOF]